/*
判断是否是移动端
*/
export function isMobilePhone() {
	var sUserAgent = navigator.userAgent.toLowerCase();
	var bIsIpad = sUserAgent.match(/ipad/i) == 'ipad';
	var bIsIphoneOs = sUserAgent.match(/iphone os/i) == 'iphone os';
	var bIsMidp = sUserAgent.match(/midp/i) == 'midp';
	var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == 'rv:1.2.3.4';
	var bIsUc = sUserAgent.match(/ucweb/i) == 'ucweb';
	var bIsAndroid = sUserAgent.match(/android/i) == 'android';
	var bIsCE = sUserAgent.match(/windows ce/i) == 'windows ce';
	var bIsWM = sUserAgent.match(/windows mobile/i) == 'windows mobile';
	var bIsWEB = sUserAgent.match(/webOS/i) == 'webOS';
	if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM || bIsWEB) {
		return true;
	} else {
		return false;
	}
}

/*
验证手机号
*/
export function isPoneAvailable(para) {
	var myreg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
	if (!myreg.test(para)) {
		return false;
	} else {
		return true;
	}
}

/*
验证电话
*/
export function checkPhone(str) {
	var re = /^0\d{2,3}-?\d{7,8}$/;
	if (re.test(str)) {
		return true;
	} else {
		return false;
	}
}

/*
验证中文姓名
*/
export function isChineseName(v) {
	if (v == '') return 1;
	if (v.length < 2) {
		return 2;
	}
	var name = v.replace(/·/g, '');
	name = name.replace(/•/g, '');
	if (checkChinese(name)) return 0;
	else return 2;
}
/*
验证汉字
*/
export function checkChinese(str) {
	var re = /[^\u4e00-\u9fa5]/;
	if (re.test(str)) return false;
	return true;
}
/*
验证统一社会信用编码
*/
export function CheckSocialCreditCode(Code) {
	var patrn = /^[0-9A-Z]+$/;
	// 18位校验及大写校验
	if (Code.length != 18 || patrn.test(Code) == false) {
		return false;
	} else {
		var Ancode; //统一社会信用代码的每一个值
		var Ancodevalue; //统一社会信用代码每一个值的权重
		var total = 0;
		var weightedfactors = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28]; //加权因子
		var str = '0123456789ABCDEFGHJKLMNPQRTUWXY';
		//不用I、O、S、V、Z
		for (var i = 0; i < Code.length - 1; i++) {
			Ancode = Code.substring(i, i + 1);
			Ancodevalue = str.indexOf(Ancode);
			total = total + Ancodevalue * weightedfactors[i];
			//权重与加权因子相乘之和
		}
		var logiccheckcode = 31 - (total % 31);

		if (logiccheckcode == 31) {
			logiccheckcode = 0;
		}
		var Str = '0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,T,U,W,X,Y';
		var Array_Str = Str.split(',');
		logiccheckcode = Array_Str[logiccheckcode];

		var checkcode = Code.substring(17, 18);
		if (logiccheckcode != checkcode) {
			return false;
		}
	}

	return true;
}

/**
 * 表单验证是否是手机
 * @param {*} _ 
 * @param {*} value 
 * @param {*} callback 
 */
export const validatorPhone = (_, value, callback) => {
	if (!isPoneAvailable(value)) {
		callback(new Error('手机号码不正确!'));
	} else {
		callback();
	}
};
